<?php
/**
 * Скрипт обработки и ресайза запрашиваемых изображений
 * 
 * @todo Необходимо как-то сделать, чтобы работало в рамках приложения...
 */

	ini_set('display_errors',1);
	error_reporting(E_ALL);

	define('DOCUMENT_PATH', realpath(dirname(__FILE__)));

	set_include_path(implode(PATH_SEPARATOR, array(
	    realpath(DOCUMENT_PATH . '/../library'),
	    get_include_path(),
	)));
	
	/**
	 * Проверяем наличие необходимых GET-параметров
	 */
	
	if(isset($_GET['mediaid']) && isset($_GET['path']) && isset($_GET['ext']) && isset($_GET['width']) && isset($_GET['height']) && isset($_GET['crop'])) {
		
		/**
		 * Проверяем существование оригинального файла, инициализируем объект Phorm_Image
		 * Либо отдаем 404-ю ошибку
		 */
		
		$original_file = DOCUMENT_PATH . '/uploads/media/' . $_GET['path'] . '/' . $_GET['mediaid'] . '.' . $_GET['ext'];
		$resized_file  = DOCUMENT_PATH . '/uploads/media/' . $_GET['path'] . '/' . pathinfo($_SERVER['REQUEST_URI'],PATHINFO_BASENAME);
		
		if(file_exists($original_file)) {
			
			require_once('Phorm/Image.php');
			
			$Image = new Phorm_Image($original_file);
			
			//header('Content-Type: image/png');
			
			$Image -> Resize($_GET['width'], $_GET['height'], empty($_GET['crop']) ? false : $_GET['crop'])
				   -> Save($resized_file)
				   -> Destroy();
				   
			if(file_exists($resized_file)) {
				header('Location: '.$_SERVER['REQUEST_URI']);
			} else {
				//@todo отобразить мб какую-то картинку с error
			}
			
			
		} else {
			
			header('HTTP/1.1 404 Not Found');
			
		}
	
	} else {
		
		header('HTTP/1.1 404 Not Found');
		
	}

